// 1) 配置axios实例对象，作为插件安装到vue里面
import axios from 'axios';
import Vue from 'vue';
//创建axios请求对象。并配置拦截器.-
let _axios = axios.create({
    baseURL:"",
    timeout:3000,//超时时间
    // headers:{}
});
// 2)请求拦截器
_axios.interceptors.request.use(function(config){
    return config
},function(err){
    return Promise.reject(err);
});
// 3) 响应拦截器
_axios.interceptors.response.use(function(response){
    console.log("服务器给数据=>",response);
    // 优化=>如果响应有data,就返回...
    if(response.data){
        if(response.data.data){
            return response.data.data;
        }
        return response.data;
    }
    return response;
},function(error){
    return Promise.reject(error);
});

// 4)以插件的形式的来安装axios到vue实例
let axiosPlus={};
axiosPlus.install=function(Vue){
    Vue.request=_axios;
    //所有vue的实例都可拟通过this.axios或this.$axios调用axios
    Vue.prototype.request=_axios;
    Vue.prototype.$request=_axios;
    // Object.defineProperty(Vue.prototype,"axios",{
    //     get(){
    //         return _axios;
    //     }
    // })
}
Vue.use(axiosPlus);
export default axiosPlus;//导出对象